package pe.com.pamer.siscal.seguridad.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import pe.com.pamer.siscal.bean.Usuario;

@Repository(value="usuarioMapper")
public interface UsuarioMapper {

	final String SELECT_ALL = " SELECT * FROM usuario ";
	final String LOGIN_USER = " SELECT * FROM usuario u WHERE u.de_usuario = #{usuario} AND u.pw_usuario = #{password}";

	@Select(SELECT_ALL)
	@Results(value={
			@Result(property="idUsuario" , column="id_usuario"),
			@Result(property="loginUsuario" , column="de_usuario"),
			@Result(property="nombre" , column="no_usuario"),
			@Result(property="apellidoPaterno" , column="ap_paterno"),
			@Result(property="apellidoMaterno" , column="ap_materno")
	})
	List<Usuario>   obtenerUsuario();


	@Select(LOGIN_USER)
	@Results(value={
			@Result(property="idUsuario" , column="id_usuario"),
			@Result(property="loginUsuario" , column="de_usuario"),
			@Result(property="clave" , column="pw_usuario"),
			@Result(property="nombre" , column="no_usuario"),
			@Result(property="apellidoPaterno" , column="ap_paterno"),
			@Result(property="apellidoMaterno" , column="ap_materno")
	})
	Usuario  login(@Param("usuario") String usuario , @Param("password") String password);
}
